[Solved] Blur not working |
您所在的位置:网站首页 › solved page vs window in wpf 9to5answer › [Solved] Blur not working |
Blur not working - Angular 2
angular
blur
20,607
Solution 1
Your blur event is not working because your div can't receive focus in the first place. If you add tabindex="1" (1 can be replaced with any number) or contentEditable (this will make div's content editable) to your div, it will be able to receive focus and then blur event will work. Plus, you can then use focus instead of click. Solution 2You can also try (focusout)="unfocusAreaInput()" on your div. That will fire when any focusable element inside the div loses focus (incl. when the element is removed) and some other element in the div isn't simultaneously focused. If you want to know what element lost focus inside your div, you can pass that in like so: (focusout)="unfocusAreaInput($event.target)". More information here: https://developer.mozilla.org/en-US/docs/Web/API/Element/focusout_event Solution 3Use tabindex property with it. Setting tabindex="0"will give it highest priority in getting focus thus your blur event will work Share: 20,607![]() I dabble in developing web and mobile apps. Updated on July 05, 2022 Comments![]() I'm trying to set a blue event in angular 2 like so: component.ts: import { Component, ViewChild, ElementRef, Output, EventEmitter } from '@angular/core'; import { GoogleplaceDirective } from 'angular2-google-map-auto-complete/directives/googleplace.directive'; @Component({ selector: 'my-area', directives: [GoogleplaceDirective], templateUrl: 'app/find-page/area-picker.component.html', styleUrls: ['app/find-page/area-picker.component.css'] }) export class AreaComponent { public address: Object; @ViewChild('areaInput') areaInput; areaSelected: boolean = false; @Output() onAreaSelected = new EventEmitter(); @Output() onAreaDeselected = new EventEmitter(); constructor(el: ElementRef) { } getAddress(place: Object) { this.address = place['formatted_address']; var location = place['geometry']['location']; var lat = location.lat(); var lng = location.lng(); console.log("Address Object", place); } focusAreaInput() { this.areaInput.nativeElement.focus(); this.onAreaSelected.emit(true); } unfocusAreaInput() { this.onAreaSelected.emit(false); } }unfocusAreaInput() never gets executed. Why? ![]() ![]() ![]() |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |